<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

   <a href="testI18n.action?request_locale=en_US">English</a>
   <a href="testI18n.action?request_locale=zh_CN">中文</a>

   <!-- 带有占位符的国际资源文件属性，需要用s:param 标签获取栈顶的属性值 -->  
   <s:text name="time">
   
       <s:param value="date"></s:param>
       
   </s:text>

   <br><br>

   <s:form action="testI18n">
   
      <!-- label的方式把label写死在标签里 。若要用label标签需要使用getText('username') 并通过%{getText('username')} 的OGNL强制解析方式从国际化资源文件获取value值。
                            因为此时在对象栈中有DefaultTextProder的一个实例，该对象中提供了访问国际化资源的getText()方法
                            同时还需要通知struts2框架label中放入的不再是一个普通的字符串，而是一个OGNL表达式，所以使用%{}把getText()包装起来，以强制进行OGNL解析。
      -->
      <s:textfield name="username" label="%{getText('username')}"></s:textfield>
      
      <!-- 
                       页面上可以直接使用s:text name="" 标签来访问国际化资源文件里的value值。
       -->

      <!-- key的方式是直接在资源文件上获取value值 -->
      <s:textfield name="username" key="username"></s:textfield>
      <s:password name="password" key="password"></s:password>
   
      <s:submit key="submit"></s:submit>
   </s:form>

</body>
</html>